--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / components / filesync / RnsFilesyncPage.vue
Displaying Raw • Download
meshchatx/src/frontend/components/filesync/RnsFilesyncPage.vue be4fc384af23ff862323b0e8736963e3d2716cc2 (be4fc384) Text, 36.65 KB
T8b949e<!-- SPDX-License-Identifier: 0BSD -->
Tb4b4b4<Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col flex-1 overflow-hidden min-w-0 bg-slate-50 dark:bg-zinc-950"Tb4b4b4>
Tb4b4b4<Tff7b72ToolsPageHeader
Te6edf3iconTff7b72=Ta5d6ff"folder-sync"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'rns_filesync.title'Tb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3descriptionTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'rns_filesync.description'Tb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3eyebrowTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'rns_filesync.eyebrow'Tb4b4b4)Ta5d6ff"
Te6edf3accentTff7b72=Ta5d6ff"green"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex-1 overflow-y-auto w-full px-4 md:px-5 lg:px-8 py-6 pb-[max(1.5rem,env(safe-area-inset-bottom))]"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-4 w-full max-w-4xl mx-auto"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"glass-card space-y-5"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"p-4 rounded-lg bg-emerald-50/50 dark:bg-emerald-900/10 border border-emerald-100 dark:border-emerald-900/20"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-xs font-bold uppercase tracking-wider text-emerald-600 dark:text-emerald-400 mb-2"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.usage_steps"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-1.5 text-xs text-emerald-800/80 dark:text-emerald-300/80 leading-relaxed"Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.step_1"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.step_2"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.step_3"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"border-b border-sem-border overflow-x-auto overscroll-x-contain -mx-4 px-4 sm:mx-0 sm:px-0"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex w-max min-w-full sm:w-auto gap-1 sm:gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3tab Tff7b72in Te6edf3tabsTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3tabTb4b4b4.Te6edf3idTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3activeTab Tff7b72=== Te6edf3tabTb4b4b4.Te6edf3id
Tff7b72? Ta5d6ff'border-b-2 border-emerald-500 text-emerald-600 dark:text-emerald-400'
Tff7b72: Ta5d6ff'text-sem-fg-muted'Tb4b4b4,
Ta5d6ff'shrink-0 px-3 sm:px-4 py-2 text-sm font-semibold transition'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3activeTab Tff7b72= Te6edf3tabTb4b4b4.Te6edf3idTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Te6edf3tabTb4b4b4.Te6edf3labelKeyTb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3activeTab Tff7b72=== Ta5d6ff'folder'Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"rounded-xl border border-sem-border bg-sem-surface-muted/40 p-4 space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-wrap items-center gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-1.5 rounded-full px-2.5 py-1 text-xs font-semibold"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3statusTb4b4b4.Te6edf3running
Tff7b72? Ta5d6ff'bg-emerald-500/15 text-emerald-700 dark:text-emerald-300'
Tff7b72: Ta5d6ff'bg-sem-surface-muted text-sem-fg-muted'
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"size-1.5 rounded-full"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3statusTb4b4b4.Te6edf3running Tff7b72? Ta5d6ff'bg-emerald-500' Tff7b72: Ta5d6ff'bg-sem-fg-muted'Ta5d6ff"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tff7b72{{
Te6edf3statusTb4b4b4.Te6edf3running
Tff7b72? Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.status_syncing"Tb4b4b4)
Tff7b72: Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.status_stopped"Tb4b4b4)
Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-xs text-sem-fg-muted"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.peers_count"Tb4b4b4) Tff7b72}}:
Tb4b4b4<Tff7b72strong Te6edf3classTff7b72=Ta5d6ff"text-sem-fg"Tb4b4b4>Tff7b72{{ Te6edf3statusTb4b4b4.Te6edf3peers Tff7b72|| T79c0ff0 Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-xs text-sem-fg-muted"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.files_count"Tb4b4b4) Tff7b72}}:
Tb4b4b4<Tff7b72strong Te6edf3classTff7b72=Ta5d6ff"text-sem-fg"Tb4b4b4>Tff7b72{{ Te6edf3statusTb4b4b4.Te6edf3files Tff7b72|| T79c0ff0 Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"glass-label"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.sync_directory"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3syncDirectoryTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3classTff7b72=Ta5d6ff"input-field flex-1 min-w-0 font-mono text-sm"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3statusTb4b4b4.Te6edf3runningTa5d6ff"
Tb4b4b4:Te6edf3placeholderTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'rns_filesync.sync_directory_placeholder'Tb4b4b4)Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"secondary-chip px-3 py-2 text-xs shrink-0"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3busy Tff7b72|| Te6edf3statusTb4b4b4.Te6edf3runningTa5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'rns_filesync.browse_folder'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3openDirectoryBrowserTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"folder-open-outline" Te6edf3classTff7b72=Ta5d6ff"w-4 h-4" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"hidden sm:inline"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.browse_folder"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"secondary-chip px-3 py-2 text-xs shrink-0"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3busy Tff7b72|| Tff7b72!Te6edf3syncDirectoryTa5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'rns_filesync.open_folder'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3openSyncFolderTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"folder" Te6edf3classTff7b72=Ta5d6ff"w-4 h-4" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"hidden sm:inline"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.open_folder"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"mt-1.5 text-xs text-sem-fg-muted"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.sync_directory_help"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid gap-3 sm:grid-cols-2"Tb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"glass-label"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.announce_interval"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3v-modelTb4b4b4.Te6edf3numberTff7b72=Ta5d6ff"Te6edf3announceIntervalTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3minTff7b72=Ta5d6ff"10"
Te6edf3classTff7b72=Ta5d6ff"input-field w-full"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"mt-1 text-xs text-sem-fg-muted"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.announce_interval_help"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-end"Tb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 text-sm text-sem-fg pb-2"Tb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3monitorTa5d6ff" Te6edf3typeTff7b72=Ta5d6ff"checkbox" Te6edf3classTff7b72=Ta5d6ff"rounded" Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.monitor"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-wrap gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Tff7b72!Te6edf3statusTb4b4b4.Te6edf3runningTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"primary-chip px-4 py-2 text-sm"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3busyTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3startServiceTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"play" Te6edf3classTff7b72=Ta5d6ff"w-4 h-4" Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.start"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-else
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"secondary-chip px-4 py-2 text-sm text-red-600 dark:text-red-300 border-red-200 dark:border-red-500/50"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3busyTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3stopServiceTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"stop" Te6edf3classTff7b72=Ta5d6ff"w-4 h-4" Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.stop"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"secondary-chip px-4 py-2 text-sm"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3busy Tff7b72|| Tff7b72!Te6edf3statusTb4b4b4.Te6edf3runningTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3announceNowTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"bullhorn" Te6edf3classTff7b72=Ta5d6ff"w-4 h-4" Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.announce"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"secondary-chip px-4 py-2 text-sm"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3busyTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3refreshStatusTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"refresh" Te6edf3classTff7b72=Ta5d6ff"w-4 h-4" Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.refresh"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3statusTb4b4b4.Te6edf3destination_hashTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"rounded-xl border border-sem-border p-4 space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm font-semibold text-sem-fg"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.share_id"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xs text-sem-fg-muted"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.share_id_help"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"w-full text-left font-mono text-xs break-all rounded-lg border border-sem-border bg-sem-surface-muted/50 px-3 py-2 hover:border-emerald-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3copyHashTb4b4b4(Te6edf3statusTb4b4b4.Te6edf3destination_hashTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3statusTb4b4b4.Te6edf3destination_hash Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3lastProgressLabelTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"rounded-lg border border-sem-border px-3 py-2 text-xs text-sem-fg-muted"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.last_progress"Tb4b4b4) Tff7b72}}: Tff7b72{{ Te6edf3lastProgressLabel Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3activeTab Tff7b72=== Ta5d6ff'devices'Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-sm text-sem-fg-muted"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.devices_help"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col sm:flex-row gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3connectHashTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3classTff7b72=Ta5d6ff"input-field flex-1 font-mono text-sm"
Tb4b4b4:Te6edf3placeholderTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'rns_filesync.peer_hash_placeholder'Tb4b4b4)Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"primary-chip px-4 py-2 text-sm"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3busy Tff7b72|| Tff7b72!Te6edf3statusTb4b4b4.Te6edf3runningTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3connectPeerTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"link-variant" Te6edf3classTff7b72=Ta5d6ff"w-4 h-4" Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.connect"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"secondary-chip px-3 py-1.5 text-sm"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3busyTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3refreshPeersTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.refresh"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3peersTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"text-sm text-sem-fg-muted"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.no_peers"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3v-else Te6edf3classTff7b72=Ta5d6ff"space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72li
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3peer Tff7b72in Te6edf3peersTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3peerTb4b4b4.Te6edf3peer_idTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col sm:flex-row sm:items-center justify-between gap-2 p-3 rounded-lg border border-sem-border"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-mono text-xs break-all text-sem-fg"Tb4b4b4>Tff7b72{{ Te6edf3peerTb4b4b4.Te6edf3peer_id Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xs text-sem-fg-muted mt-1"Tb4b4b4>
Tff7b72{{ Te6edf3peerStatusLabelTb4b4b4(Te6edf3peerTb4b4b4) Tff7b72}}
Tb4b4b4<Tff7b72span Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3peerTb4b4b4.Te6edf3destination_hashTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"font-mono"Tb4b4b4>
· Tff7b72{{ Te6edf3peerTb4b4b4.Te6edf3destination_hash Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"secondary-chip px-3 py-1.5 text-sm text-red-600 dark:text-red-300"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3busyTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3disconnectPeerTb4b4b4(Te6edf3peerTb4b4b4.Te6edf3peer_idTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.disconnect"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3activeTab Tff7b72=== Ta5d6ff'files'Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72FilesyncFileManager
Te6edf3refTff7b72=Ta5d6ff"fileManager"
Tb4b4b4:Te6edf3sync-directoryTff7b72=Ta5d6ff"Te6edf3syncDirectoryTa5d6ff"
Tb4b4b4@Te6edf3open-folderTff7b72=Ta5d6ff"Te6edf3openSyncFolderTa5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3activeTab Tff7b72=== Ta5d6ff'remote'Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-sm text-sem-fg-muted"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.remote_help"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col sm:flex-row gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72select Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3browsePeerIdTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"input-field flex-1 font-mono text-sm"Tb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff""Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.select_peer"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3peer Tff7b72in Te6edf3peersTa5d6ff" Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3peerTb4b4b4.Te6edf3peer_idTa5d6ff" Tb4b4b4:Te6edf3valueTff7b72=Ta5d6ff"Te6edf3peerTb4b4b4.Te6edf3peer_idTa5d6ff"Tb4b4b4>
Tff7b72{{ Te6edf3peerTb4b4b4.Te6edf3peer_id Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72selectTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"primary-chip px-4 py-2 text-sm"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3busy Tff7b72|| Tff7b72!Te6edf3statusTb4b4b4.Te6edf3running Tff7b72|| Tff7b72!Te6edf3browsePeerIdTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3browsePeerTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"folder-open-outline" Te6edf3classTff7b72=Ta5d6ff"w-4 h-4" Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.browse"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3remoteFilesTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"text-sm text-sem-fg-muted"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.no_remote_files"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3v-else Te6edf3classTff7b72=Ta5d6ff"space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72li
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3file Tff7b72in Te6edf3remoteFilesTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3fileTb4b4b4.Te6edf3path Tff7b72|| Te6edf3fileTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col sm:flex-row sm:items-center justify-between gap-2 p-3 rounded-lg border border-sem-border"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0 text-sm break-all text-sem-fg"Tb4b4b4>
Tff7b72{{ Te6edf3fileTb4b4b4.Te6edf3path Tff7b72|| Te6edf3file Tff7b72}}
Tb4b4b4<Tff7b72span Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3fileTb4b4b4.Te6edf3size Tff7b72!= Tff7b72nullTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"text-xs text-sem-fg-muted"Tb4b4b4>
· Tff7b72{{ Te6edf3formatFileSizeTb4b4b4(Te6edf3fileTb4b4b4.Te6edf3sizeTb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"secondary-chip px-3 py-1.5 text-sm"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3busy Tff7b72|| Tff7b72!Te6edf3browsePeerIdTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3downloadFileTb4b4b4(Te6edf3fileTb4b4b4.Te6edf3path Tff7b72|| Te6edf3fileTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.download"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3activeTab Tff7b72=== Ta5d6ff'sharing'Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-sm text-sem-fg-muted"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.sharing_help"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 text-sm text-sem-fg"Tb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3aclEnforceTa5d6ff" Te6edf3typeTff7b72=Ta5d6ff"checkbox" Te6edf3classTff7b72=Ta5d6ff"rounded" Tb4b4b4@Te6edf3changeTff7b72=Ta5d6ff"Te6edf3saveEnforceTa5d6ff" Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.acl_enforce"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-3"Tb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3aclHashTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3classTff7b72=Ta5d6ff"input-field w-full font-mono text-sm"
Tb4b4b4:Te6edf3placeholderTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'rns_filesync.peer_hash_placeholder'Tb4b4b4)Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-wrap items-center gap-4 text-sm text-sem-fg"Tb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1.5"Tb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3aclReadTa5d6ff" Te6edf3typeTff7b72=Ta5d6ff"checkbox" Te6edf3classTff7b72=Ta5d6ff"rounded" Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.perm_read"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1.5"Tb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3aclWriteTa5d6ff" Te6edf3typeTff7b72=Ta5d6ff"checkbox" Te6edf3classTff7b72=Ta5d6ff"rounded" Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.perm_write"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1.5"Tb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3aclDeleteTa5d6ff" Te6edf3typeTff7b72=Ta5d6ff"checkbox" Te6edf3classTff7b72=Ta5d6ff"rounded" Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.perm_delete"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"primary-chip px-4 py-2 text-sm self-start"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3busyTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3grantAclTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.acl_grant"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3aclRowsTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"text-sm text-sem-fg-muted"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.no_acl_rules"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3v-else Te6edf3classTff7b72=Ta5d6ff"space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72li
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3row Tff7b72in Te6edf3aclRowsTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3rowTb4b4b4.Te6edf3hashTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"p-3 rounded-lg border border-sem-border text-sm"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-mono text-xs break-all text-sem-fg"Tb4b4b4>Tff7b72{{ Te6edf3rowTb4b4b4.Te6edf3hash Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xs text-sem-fg-muted mt-1"Tb4b4b4>Tff7b72{{ Te6edf3rowTb4b4b4.Te6edf3permsLabel Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72FilesyncDirectoryBrowserModal
Tb4b4b4:Te6edf3openTff7b72=Ta5d6ff"Te6edf3directoryBrowserOpenTa5d6ff"
Tb4b4b4:Te6edf3initial-pathTff7b72=Ta5d6ff"Te6edf3syncDirectoryTa5d6ff"
Tb4b4b4@Te6edf3closeTff7b72=Ta5d6ff"Te6edf3directoryBrowserOpen Tff7b72= Tff7b72falseTa5d6ff"
Tb4b4b4@Te6edf3selectTff7b72=Ta5d6ff"Te6edf3onDirectorySelectedTa5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72scriptTb4b4b4>
Tff7b72import Te6edf3MaterialDesignIcon Tff7b72from Ta5d6ff"../MaterialDesignIcon.vue"Tb4b4b4;
Tff7b72import Te6edf3ToastUtils Tff7b72from Ta5d6ff"../../js/ToastUtils"Tb4b4b4;
Tff7b72import Te6edf3ToolsPageHeader Tff7b72from Ta5d6ff"../tools/ToolsPageHeader.vue"Tb4b4b4;
Tff7b72import Te6edf3FilesyncDirectoryBrowserModal Tff7b72from Ta5d6ff"./FilesyncDirectoryBrowserModal.vue"Tb4b4b4;
Tff7b72import Te6edf3FilesyncFileManager Tff7b72from Ta5d6ff"./FilesyncFileManager.vue"Tb4b4b4;
Tff7b72import Te6edf3ElectronUtils Tff7b72from Ta5d6ff"../../js/ElectronUtils"Tb4b4b4;
Tff7b72import Te6edf3Utils Tff7b72from Ta5d6ff"../../js/Utils"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3onWsEventTb4b4b4, Te6edf3offWsEvent Tb4b4b4} Tff7b72from Ta5d6ff"../../js/registries/wsEventRegistry.js"Tb4b4b4;
Tff7b72export Tff7b72default Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"RnsFilesyncPage"Tb4b4b4,
Te6edf3componentsTff7b72: Tb4b4b4{
Te6edf3MaterialDesignIconTb4b4b4,
Te6edf3ToolsPageHeaderTb4b4b4,
Te6edf3FilesyncDirectoryBrowserModalTb4b4b4,
Te6edf3FilesyncFileManagerTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3dataTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4{
Te6edf3activeTabTff7b72: Ta5d6ff"folder"Tb4b4b4,
Te6edf3tabsTff7b72: Tb4b4b4[
Tb4b4b4{ Te6edf3idTff7b72: Ta5d6ff"folder"Tb4b4b4, Te6edf3labelKeyTff7b72: Ta5d6ff"rns_filesync.tab_folder" Tb4b4b4}Tb4b4b4,
Tb4b4b4{ Te6edf3idTff7b72: Ta5d6ff"devices"Tb4b4b4, Te6edf3labelKeyTff7b72: Ta5d6ff"rns_filesync.tab_devices" Tb4b4b4}Tb4b4b4,
Tb4b4b4{ Te6edf3idTff7b72: Ta5d6ff"files"Tb4b4b4, Te6edf3labelKeyTff7b72: Ta5d6ff"rns_filesync.tab_files" Tb4b4b4}Tb4b4b4,
Tb4b4b4{ Te6edf3idTff7b72: Ta5d6ff"remote"Tb4b4b4, Te6edf3labelKeyTff7b72: Ta5d6ff"rns_filesync.tab_remote" Tb4b4b4}Tb4b4b4,
Tb4b4b4{ Te6edf3idTff7b72: Ta5d6ff"sharing"Tb4b4b4, Te6edf3labelKeyTff7b72: Ta5d6ff"rns_filesync.tab_sharing" Tb4b4b4}Tb4b4b4,
Tb4b4b4]Tb4b4b4,
Te6edf3busyTff7b72: Tff7b72falseTb4b4b4,
Te6edf3statusTff7b72: Tb4b4b4{
Te6edf3runningTff7b72: Tff7b72falseTb4b4b4,
Te6edf3peersTff7b72: T79c0ff0Tb4b4b4,
Te6edf3filesTff7b72: T79c0ff0Tb4b4b4,
Te6edf3destination_hashTff7b72: Tff7b72nullTb4b4b4,
Te6edf3sync_directoryTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3storage_directoryTff7b72: Ta5d6ff""Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3syncDirectoryTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3announceIntervalTff7b72: T79c0ff300Tb4b4b4,
Te6edf3monitorTff7b72: Tff7b72trueTb4b4b4,
Te6edf3connectHashTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3peersTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3browsePeerIdTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3remoteFilesTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3aclEnforceTff7b72: Tff7b72falseTb4b4b4,
Te6edf3aclHashTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3aclReadTff7b72: Tff7b72trueTb4b4b4,
Te6edf3aclWriteTff7b72: Tff7b72falseTb4b4b4,
Te6edf3aclDeleteTff7b72: Tff7b72falseTb4b4b4,
Te6edf3aclRulesTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3lastProgressTff7b72: Tff7b72nullTb4b4b4,
Te6edf3directoryBrowserOpenTff7b72: Tff7b72falseTb4b4b4,
Te6edf3wsHandlersTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3computedTff7b72: Tb4b4b4{
Te6edf3lastProgressLabelTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3payload Tff7b72= Tff7b72thisTb4b4b4.Te6edf3lastProgressTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3payloadTb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff""Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3payload Tff7b72=== Ta5d6ff"string"Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3payloadTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3path Tff7b72= Te6edf3payloadTb4b4b4.Te6edf3path Tff7b72|| Te6edf3payloadTb4b4b4.Te6edf3file Tff7b72|| Te6edf3payloadTb4b4b4.Te6edf3name Tff7b72|| Ta5d6ff""Tb4b4b4;
Tff7b72const Te6edf3status Tff7b72= Te6edf3payloadTb4b4b4.Te6edf3status Tff7b72|| Te6edf3payloadTb4b4b4.Te6edf3state Tff7b72|| Te6edf3payloadTb4b4b4.Te6edf3phase Tff7b72|| Ta5d6ff""Tb4b4b4;
Tff7b72const Te6edf3bytes Tff7b72= Te6edf3payloadTb4b4b4.Te6edf3bytes Tff7b72?? Te6edf3payloadTb4b4b4.Te6edf3transferred Tff7b72?? Te6edf3payloadTb4b4b4.Te6edf3doneTb4b4b4;
Tff7b72const Te6edf3total Tff7b72= Te6edf3payloadTb4b4b4.Te6edf3total Tff7b72?? Te6edf3payloadTb4b4b4.Te6edf3sizeTb4b4b4;
Tff7b72const Te6edf3parts Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3pathTb4b4b4) Tb4b4b4{
Te6edf3partsTb4b4b4.Te6edf3pushTb4b4b4(Tffa657StringTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3statusTb4b4b4) Tb4b4b4{
Te6edf3partsTb4b4b4.Te6edf3pushTb4b4b4(Tffa657StringTb4b4b4(Te6edf3statusTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3bytes Tff7b72!= Tff7b72null Tff7b72&& Te6edf3total Tff7b72!= Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3partsTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff`Tffd700${Tff7b72thisTb4b4b4.Te6edf3formatFileSizeTb4b4b4(Te6edf3bytesTb4b4b4)Tffd700}Ta5d6ff / Tffd700${Tff7b72thisTb4b4b4.Te6edf3formatFileSizeTb4b4b4(Te6edf3totalTb4b4b4)Tffd700}Ta5d6ff`Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3bytes Tff7b72!= Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3partsTb4b4b4.Te6edf3pushTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3formatFileSizeTb4b4b4(Te6edf3bytesTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3partsTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72return Tffa657JSONTb4b4b4.Te6edf3stringifyTb4b4b4(Te6edf3payloadTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Tff7b72return Tffa657StringTb4b4b4(Te6edf3payloadTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Te6edf3partsTb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff" · "Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3aclRowsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3rules Tff7b72= Tff7b72thisTb4b4b4.Te6edf3aclRules Tff7b72|| Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3byHash Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3perm Tff7b72of Tb4b4b4[Ta5d6ff"read"Tb4b4b4, Ta5d6ff"write"Tb4b4b4, Ta5d6ff"delete"Tb4b4b4]Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3targets Tff7b72= Tffa657ArrayTb4b4b4.Te6edf3isArrayTb4b4b4(Te6edf3rulesTb4b4b4[Te6edf3permTb4b4b4]Tb4b4b4) Tff7b72? Te6edf3rulesTb4b4b4[Te6edf3permTb4b4b4] Tff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3hash Tff7b72of Te6edf3targetsTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3byHashTb4b4b4[Te6edf3hashTb4b4b4]Tb4b4b4) Tb4b4b4{
Te6edf3byHashTb4b4b4[Te6edf3hashTb4b4b4] Tff7b72= Tff7b72new Tffa657SetTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3byHashTb4b4b4[Te6edf3hashTb4b4b4]Tb4b4b4.Te6edf3addTb4b4b4(Te6edf3permTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72const Te6edf3labelMap Tff7b72= Tb4b4b4{
Te6edf3readTff7b72: Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.perm_read"Tb4b4b4)Tb4b4b4,
Te6edf3writeTff7b72: Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.perm_write"Tb4b4b4)Tb4b4b4,
Tff7b72deleteTff7b72: Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.perm_delete"Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72return Tffa657ObjectTb4b4b4.Te6edf3keysTb4b4b4(Te6edf3byHashTb4b4b4)
Tb4b4b4.Te6edf3sortTb4b4b4(Tb4b4b4)
Tb4b4b4.Te6edf3mapTb4b4b4(Tb4b4b4(Te6edf3hashTb4b4b4) Tb4b4b4=> Tb4b4b4(Tb4b4b4{
Te6edf3hashTb4b4b4,
Te6edf3permsLabelTff7b72: Tb4b4b4[Ta5d6ff"read"Tb4b4b4, Ta5d6ff"write"Tb4b4b4, Ta5d6ff"delete"Tb4b4b4]
Tb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3pTb4b4b4) Tb4b4b4=> Te6edf3byHashTb4b4b4[Te6edf3hashTb4b4b4]Tb4b4b4.Te6edf3hasTb4b4b4(Te6edf3pTb4b4b4)Tb4b4b4)
Tb4b4b4.Te6edf3mapTb4b4b4(Tb4b4b4(Te6edf3pTb4b4b4) Tb4b4b4=> Te6edf3labelMapTb4b4b4[Te6edf3pTb4b4b4]Tb4b4b4)
Tb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff", "Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3mountedTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3bindWsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshAllTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3beforeUnmountTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72for Tb4b4b4(Tff7b72const Tb4b4b4[Te6edf3typeTb4b4b4, Te6edf3handlerTb4b4b4] Tff7b72of Tff7b72thisTb4b4b4.Te6edf3wsHandlersTb4b4b4) Tb4b4b4{
Te6edf3offWsEventTb4b4b4(Te6edf3typeTb4b4b4, Te6edf3handlerTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3wsHandlers Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3methodsTff7b72: Tb4b4b4{
Te6edf3bindWsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3bind Tff7b72= Tb4b4b4(Te6edf3typeTb4b4b4, Te6edf3handlerTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3onWsEventTb4b4b4(Te6edf3typeTb4b4b4, Te6edf3handlerTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3wsHandlersTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4[Te6edf3typeTb4b4b4, Te6edf3handlerTb4b4b4]Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3bindTb4b4b4(Ta5d6ff"filesync.sync.progress"Tb4b4b4, Tb4b4b4(Te6edf3payloadTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3lastProgress Tff7b72= Te6edf3payload Tff7b72&& Tff7b72typeof Te6edf3payload Tff7b72=== Ta5d6ff"object" Tff7b72? Te6edf3payload Tff7b72: Tb4b4b4{ Te6edf3statusTff7b72: Tffa657StringTb4b4b4(Te6edf3payloadTb4b4b4) Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3bindTb4b4b4(Ta5d6ff"filesync.peer.connected"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshPeersTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshStatusTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3bindTb4b4b4(Ta5d6ff"filesync.peer.disconnected"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshPeersTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshStatusTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3bindTb4b4b4(Ta5d6ff"filesync.file.updated"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshFileManagerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3infoTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.file_updated"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3bindTb4b4b4(Ta5d6ff"filesync.file.deleted"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshFileManagerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3infoTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.file_deleted"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3bindTb4b4b4(Ta5d6ff"filesync.error"Tb4b4b4, Tb4b4b4(Te6edf3payloadTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3detail Tff7b72= Te6edf3payloadTff7b72?Tb4b4b4.Te6edf3error Tff7b72|| Te6edf3payloadTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Ta5d6ff""Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff`Tffd700${Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.error"Tb4b4b4)Tffd700}Tffd700${Te6edf3detail Tff7b72? Ta5d6ff": " Tff7b72+ Te6edf3detail Tff7b72: Ta5d6ff""Tffd700}Ta5d6ff`Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3formatFileSizeTb4b4b4(Te6edf3bytesTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3UtilsTb4b4b4.Te6edf3formatBytesTb4b4b4(Te6edf3bytes Tff7b72|| T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3peerStatusLabelTb4b4b4(Te6edf3peerTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3raw Tff7b72= Te6edf3peerTff7b72?Tb4b4b4.Te6edf3statusTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3raw Tff7b72=== T79c0ff1 Tff7b72|| Te6edf3raw Tff7b72=== Ta5d6ff"connected" Tff7b72|| Te6edf3raw Tff7b72=== Tff7b72trueTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.peer_connected"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3raw Tff7b72=== T79c0ff0 Tff7b72|| Te6edf3raw Tff7b72=== Ta5d6ff"disconnected" Tff7b72|| Te6edf3raw Tff7b72=== Tff7b72falseTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.peer_disconnected"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3raw Tff7b72!= Tff7b72null Tff7b72? Tffa657StringTb4b4b4(Te6edf3rawTb4b4b4) Tff7b72: Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.peer_unknown"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3openDirectoryBrowserTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3statusTb4b4b4.Te6edf3runningTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3warningTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.stop_before_change_folder"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3directoryBrowserOpen Tff7b72= Tff7b72trueTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onDirectorySelectedTb4b4b4(Te6edf3pathTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3cleaned Tff7b72= Tffa657StringTb4b4b4(Te6edf3path Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3cleanedTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3syncDirectory Tff7b72= Te6edf3cleanedTb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.folder_selected"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3openSyncFolderTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3path Tff7b72= Tffa657StringTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3syncDirectory Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3pathTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3ok Tff7b72= Tff7b72await Te6edf3ElectronUtilsTb4b4b4.Te6edf3openDirectoryOrCopyTb4b4b4(Te6edf3pathTb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=>
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.path_copied"Tb4b4b4)Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3okTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3infoTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3refreshAllTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72await Tffa657PromiseTb4b4b4.Te6edf3allTb4b4b4(Tb4b4b4[Tff7b72thisTb4b4b4.Te6edf3refreshStatusTb4b4b4(Tb4b4b4)Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3refreshPeersTb4b4b4(Tb4b4b4)Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3refreshAclTb4b4b4(Tb4b4b4)Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshFileManagerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3refreshFileManagerTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3manager Tff7b72= Tff7b72thisTb4b4b4.Te6edf3$refsTb4b4b4.Te6edf3fileManagerTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3manager Tff7b72&& Tff7b72typeof Te6edf3managerTb4b4b4.Te6edf3refresh Tff7b72=== Ta5d6ff"function"Tb4b4b4) Tb4b4b4{
Tff7b72await Te6edf3managerTb4b4b4.Te6edf3refreshTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3refreshStatusTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/filesync/status"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3status Tff7b72= Te6edf3responseTff7b72?Tb4b4b4.Te6edf3data Tff7b72|| Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3status Tff7b72= Te6edf3statusTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3statusTb4b4b4.Te6edf3sync_directoryTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3syncDirectory Tff7b72= Te6edf3statusTb4b4b4.Te6edf3sync_directoryTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3statusTb4b4b4.Te6edf3announce_interval Tff7b72=== Ta5d6ff"number"Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3announceInterval Tff7b72= Te6edf3statusTb4b4b4.Te6edf3announce_intervalTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3statusTb4b4b4.Te6edf3monitor Tff7b72=== Ta5d6ff"boolean"Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3monitor Tff7b72= Te6edf3statusTb4b4b4.Te6edf3monitorTb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3errTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.error"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3refreshPeersTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/filesync/peers"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3data Tff7b72= Te6edf3responseTff7b72?Tb4b4b4.Te6edf3data Tff7b72|| Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3peers Tff7b72= Tffa657ArrayTb4b4b4.Te6edf3isArrayTb4b4b4(Te6edf3dataTb4b4b4.Te6edf3peersTb4b4b4) Tff7b72? Te6edf3dataTb4b4b4.Te6edf3peers Tff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3errTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.error"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3refreshAclTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/filesync/acl"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3data Tff7b72= Te6edf3responseTff7b72?Tb4b4b4.Te6edf3data Tff7b72|| Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3aclEnforce Tff7b72= Tffa657BooleanTb4b4b4(Te6edf3dataTb4b4b4.Te6edf3enforceTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3aclRules Tff7b72= Te6edf3dataTb4b4b4.Te6edf3rules Tff7b72|| Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3errTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.error"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3startServiceTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3busy Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tff7b72thisTb4b4b4.Te6edf3statusTb4b4b4.Te6edf3running Tff7b72&& Tff7b72thisTb4b4b4.Te6edf3syncDirectoryTb4b4b4) Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3patchTb4b4b4(Ta5d6ff"/api/v1/filesync/settings"Tb4b4b4, Tb4b4b4{
Te6edf3sync_directoryTff7b72: Tff7b72thisTb4b4b4.Te6edf3syncDirectoryTb4b4b4,
Te6edf3monitorTff7b72: Tff7b72thisTb4b4b4.Te6edf3monitorTb4b4b4,
Te6edf3announce_intervalTff7b72: Tff7b72thisTb4b4b4.Te6edf3announceIntervalTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/filesync/start"Tb4b4b4, Tb4b4b4{
Te6edf3sync_directoryTff7b72: Tff7b72thisTb4b4b4.Te6edf3syncDirectory Tff7b72|| Tff7b72undefinedTb4b4b4,
Te6edf3monitorTff7b72: Tff7b72thisTb4b4b4.Te6edf3monitorTb4b4b4,
Te6edf3announce_intervalTff7b72: Tff7b72thisTb4b4b4.Te6edf3announceIntervalTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.started"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshAllTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3errTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.error"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3busy Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3stopServiceTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3busy Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/filesync/stop"Tb4b4b4, Tb4b4b4{Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.stopped"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshAllTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3errTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.error"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3busy Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3announceNowTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3busy Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/filesync/announce"Tb4b4b4, Tb4b4b4{Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.announced"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3errTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.error"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3busy Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3connectPeerTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3busy Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/filesync/connect"Tb4b4b4, Tb4b4b4{
Te6edf3identity_hashTff7b72: Tff7b72thisTb4b4b4.Te6edf3connectHashTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.connected"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3connectHash Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshPeersTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshStatusTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3errTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.error"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3busy Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3disconnectPeerTb4b4b4(Te6edf3peerIdTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3busy Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/filesync/disconnect"Tb4b4b4, Tb4b4b4{
Te6edf3peer_idTff7b72: Te6edf3peerIdTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.disconnected"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshPeersTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshStatusTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3errTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.error"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3busy Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3browsePeerTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3busy Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/filesync/browse"Tb4b4b4, Tb4b4b4{
Te6edf3peer_idTff7b72: Tff7b72thisTb4b4b4.Te6edf3browsePeerIdTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3data Tff7b72= Te6edf3responseTff7b72?Tb4b4b4.Te6edf3data Tff7b72|| Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3remoteFiles Tff7b72= Tffa657ArrayTb4b4b4.Te6edf3isArrayTb4b4b4(Te6edf3dataTb4b4b4.Te6edf3filesTb4b4b4) Tff7b72? Te6edf3dataTb4b4b4.Te6edf3files Tff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.browse_done"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3remoteFiles Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3errTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.error"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3busy Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3downloadFileTb4b4b4(Te6edf3pathTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3busy Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/filesync/download"Tb4b4b4, Tb4b4b4{
Te6edf3peer_idTff7b72: Tff7b72thisTb4b4b4.Te6edf3browsePeerIdTb4b4b4,
Te6edf3pathTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3infoTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.download_started"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3errTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.error"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3busy Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3grantAclTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3perms Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3aclReadTb4b4b4) Te6edf3permsTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"read"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3aclWriteTb4b4b4) Te6edf3permsTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"write"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3aclDeleteTb4b4b4) Te6edf3permsTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"delete"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3busy Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/filesync/acl"Tb4b4b4, Tb4b4b4{
Te6edf3identity_hashTff7b72: Tff7b72thisTb4b4b4.Te6edf3aclHashTb4b4b4,
Te6edf3permsTb4b4b4,
Te6edf3enforceTff7b72: Tff7b72thisTb4b4b4.Te6edf3aclEnforceTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.acl_updated"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3aclHash Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshAclTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3errTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.error"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3busy Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3saveEnforceTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3busy Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/filesync/acl"Tb4b4b4, Tb4b4b4{
Te6edf3enforceTff7b72: Tff7b72thisTb4b4b4.Te6edf3aclEnforceTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.acl_updated"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshAclTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3errTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.error"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3busy Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3copyHashTb4b4b4(Te6edf3hashTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72await Te6edf3navigatorTb4b4b4.Te6edf3clipboardTb4b4b4.Te6edf3writeTextTb4b4b4(Te6edf3hashTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.copied"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"rns_filesync.error"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────